#include "key.h"
#include "delay.h"

/******************************
* 按键接PB1，PB11，另的端接负极
******************************/
void KEY_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
	GPIO_InitStruct.GPIO_Pin = KEY1 | KEY2;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStruct);	
}

/********************************
* 读取按键值
* @param 无
* @return 1按键1按下，2按键2按下
*********************************/
uint8_t Key_GetNum(void)
{
	uint8_t keyNum = 0;
	if(GPIO_ReadInputDataBit(GPIOB, KEY1) == 0)
	{
		delay_ms(20); // 消抖
		while(GPIO_ReadInputDataBit(GPIOB, KEY1) == 0);
		delay_ms(20);
		keyNum = 1;
	}
	if(GPIO_ReadInputDataBit(GPIOB, KEY2) == 0)
	{
		delay_ms(20); // 消抖
		while(GPIO_ReadInputDataBit(GPIOB, KEY2) == 0);
		delay_ms(20);
		keyNum = 2;
	}
	
	return keyNum;
}
